package com.example.elysiumease.mapper;

import com.example.elysiumease.model.SinStat;
import com.example.elysiumease.model.SoulSin;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SoulSinMapper {

    // 插入灵魂罪行关联记录
    int insert(SoulSin soulSin);

    // 更新罪行次数
    int updateOccurrence(SoulSin soulSin);

    // 根据复合主键删除记录
    int deleteByCompositeKey(SoulSin soulSin);

    // 根据 soul_id 和 sin_id 查询记录
    SoulSin selectByCompositeKey(Integer soulId, Short sinId);

    // 查询某个灵魂的所有罪行
    List<SoulSin> selectBySoulId(Integer soulId);

    // 查询所有关联记录
    List<SoulSin> selectAll();

    List<SinStat> getSinStatistics(@Param("days") int days);
}